
{***********************************************************}
{                                                           }
{      Informix esql "srvinfo.h"                            }
{                                                           }
{      Translated to Object Pascal by                       }
{      Copyright (c) 2001-2008 Luxena Software Company      }
{      http://www.luxena.com                                }
{      e-mail: support@luxena.com                           }
{                                                           }
{***********************************************************}

unit IfxSrvInfo;

{$I lx.inc}

{$IFDEF VER140_OR_ABOVE}
  {$ALIGN 8}
{$ENDIF}

interface

uses
  IfxTypes;

const

  PVNAMELEN = 80;

  // Server's types (used with INFO_TYPE submessage of SQ_INFO)
  // These values could be sent in the ORed format or as a series
  // of four-byte values

  TYP_SE = $00000001; // on if SE, off OnLine
  TYP_MT = $00000002; // on if multithreaded
  TYP_RDA = $00000004; // on if RDA gateway
  TYP_DRDA = $00000008; // on if DRDA gateway

  TYP_OWS = $00000010; // on if OnLine Workgroup Server

  TYP_EDASQL = $00000020; // on if EDA/SQL gateway
  TYP_EGM = $00000040; // on if Enterprise Gateway Manager



  // Capabilities (used with INFO_CAPABILITY submessage of SQ_INFO
  // These values could be sent in the ORed format or as a series
  // of four-byte values.
  // The capabilities can also be used to describe the client SQLI.

  CAP_NLS = $00000001; // on if NLS ready
  CAP_NCHAR = $00000002; // on if able to treat CHAR as NCHAR
  CAP_MCOLL = $00000004; // on if multiple coll seq
  CAP_MLANG = $00000008; // on if multiple lang
  CAP_MBYTE = $00000010; // on if multiple byte
  CAP_STAR = $00000020; // on if distributed capable
  CAP_XA = $00000040; // on if XA capable


type

  TSrvInfo = record
    SQLIVersion: muint; // version of SQLI, see sqlmtype.h
    TypeList: muint; // type of server, bit map
    CapList: muint; // server's capabilities, bit map
    DBList: muint; // database characteristics
    Reserved1: muint; // reserved
    Reserved2: muint; // reserved
    ProdVersion: array[0..PVNAMELEN] of Char; // product name
  end;

  PIfx_SrvInfo = ^TIfx_SrvInfo;
  TIfx_SrvInfo = TSrvInfo;

  Tifx_srvinfo_proc = function(info: PIfx_SrvInfo): mint; cdecl;


implementation

end.